Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation

ABSTRACT

A method and a device for decoding for use in a code-division multiple access (CDMA) transmission system for demodulating a received signal available in serial code concatenation, with a two-step coding being carried out at the transmitting end of the transmission system, including an orthogonal, multi-step inner Hadamard code and an outer, error-correcting code of a predefined rate. In the receiver, a soft-in/soft-out decoder is provided, at whose input and output soft values are processed as reliability information, i.e., L-values. The soft output of the first decoder step, or inner code is the soft input for the decoder step, or outer code, that follows in each case, the first decoder step receiving the output values of the preceding demodulation, which contain the channel&#39;s reliability information. A soft output is used by the decoder, in particular a MAP decoder, as a-priori information for the systematic bits of the Walsh function of the inner code for decoding of the inner code.

FIELD OF THE INVENTION

The invention relates to a decoding method for a CDMA [code-division multiple access] transmission system for demodulating a received signal available in serial code concatenation, a two-step coding being carried out at the transmitting end of the transmission system, including an orthogonal, multi-step modulation and an external error-correcting code of a predefined rate according to the definition of the species in claim 1, as well as to a device for implementiiod according to claim 13.

BACKGROUND INFORMATION

Transmission systems having an internal code, naamely orthogonal modulation using Walsh functions or rows of the Hadamard matrix as code words, and an external code, for example a hash [convolution] code with interleavers [interleave factors] are known in decoding methods. One simple concept entails decoding the internal code in accordance with the “maximum likelihood” principle, and decoding the external code using a Viterbi algorithm (soft-in, hard-decision out) (Proakis, J. G. Digital Communications, 2nd edition, New York, McGraw-Hill, 1989).

The next, best step involves improving the decoding of the internal code and in employing a “symbol-by-symbol” MAP decoder (the decoding of the external code remains unchanged thereby), the algorithms for this, both for a coherent receiving plan, as well as for an incoherent receiving plan, being generally known.

The German Patent 39 10 739 C3 describes a method for generalizing the Viterbi algorithm and, for this purpose, a device for receiving signals transmitted via an interfered channel, where, in a incremental metrics unit (TMU), the transitional costs are generated, and addition [summing], comparison, and selection [processes] are subsequently carried out, and the differential costs of two incoming paths are calculated.

In the Proc. IEEE International Conference on Communication (ICC), Geneva, Switzerland, pp. 1064-1070, May 1993, Berrou proposes decoding the parallel concatenated codes in an iterative [process].

TECHNICAL OBJECT

The object of the invention is to improve upon the method according to the defined species, so as to enable an existing signal format to be decoded on the receiver side of a transmission system more efficiently and with less likelihood of bit errors than is possible with known methods heretofore, so that by using a downstream decoder circuit, the two-step, serially concatenated coding is decoded as optimally as possible and with the least possible outlay.

DETAILED DESCRIPTION OF THE INVENTION AND ITS ADVANTAGES

In the method according to the present invention, a soft-in/soft-out decoder is used in the receiver, at whose input and output, soft values are processed as reliability information (L values), the soft output of the first decoder step (internal code) being the soft input for the decoder step (external code) that follows in each case, and the first decoder step receiving the output values of the preceding demodulation, which contains the channel's reliability information.

Thus, the methods of iterative decoding can advantageously be applied to a CDMA system having orthogonal modulation as an internal code and a hash code (inclusive of interleavers) as an external code, thus within a system having serial code concatenation.

At the core of iterative decoding is the decoding instruction for the internal code. In this context, the decoding instructions must be expanded to enable use of a-priori information about the symbols to be decoded. Moreover, the external “hard decision” Viterbi decoder is replaced by a “soft decision” Viterbi algorithm, ieby a MAP algorithm having a “soft decision” output for the coded bits, to obtain the a-priori information for the renewed decoding.

In another embodiment of the method, a soft output is used by a decoder, in particular a MAP decoder, as a-priori information for the systematic bits of the Walsh function of the internal code for decoding of the same. To enhance the reliability of the decisions of the internal decoder, a feedback (iterative decoding) from the external to the internal decoder can be performed at least once, and the decisions (extrinsic information) of the second, external decoder about the systematic bits of the code words of the internal code, for example of the Walsh functions, can be fed back as a-priori information to the input of the first, internal decoder.

The a-priori information for the systematic bits of the code words of the internal code, for example of the Walsh functions, are likewise made available to the internal MAP decoder (maximally a posteriori) as reliability values in vector L(u), and the decoder supplies, as a result, the L-values for estimated symbols L(û), the amount |L(û_(k))| of the L-values indicating the reliability of the decision and the operational sign(L(û_(k)) of the L-values representing the hard decision. In the coherent receiver structure, the internal MAP decoder calculates, starting from the input vector (L_(c)·y) having a specific reliability (L_(c)) and [from] the a-priori vector L(u), as a decoder result, the weighted decision (L-values, L(û_(k))) for the estimated symbols, as well as the extrinsic term (L_(e)(û_(k))) of the L-values.

In the coherent receiver structure, to decode the internal Hadamard code, the vector of a-priori values (L(u)) for the systematic bits is added to the vector of reliability values (L_(c)·y) from the channel and, after that, a fast Hadamard transformation (FHT) follows; subsequently, with the signals (vector w), the exponential functions are generated with ½·wj as an argument, after which, the elements of the result vector (z) for each symbol (û_(K)) to be decoded are added, divided and expressed logarithmically, according to the equation: $\begin{matrix} {{\ln \quad \frac{\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}z_{j}}{\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}z_{j}}} = \quad {\ln \quad \frac{\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}}{\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}}}} \\ {= \quad {{\ln \quad \overset{{Term}\quad 1}{\left( {\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}} - \overset{{Term}\quad 2}{\ln \quad \left( {\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}}} \\ {\quad {\approx \quad {{\ln \quad \left( {\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack {\exp \left( {\frac{1}{2}\quad w_{j}} \right)} \right\rbrack} \right)} - {\ln \quad \left( {\max\limits_{j,{u_{k} = {- 1}}}\left\lbrack {\exp \left( {\frac{1}{2}\quad w_{j}} \right)} \right\rbrack} \right)}}}} \\ {= \quad {{\frac{1}{2}{\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack w_{j} \right\rbrack}} - {\frac{1}{2}{\max\limits_{j,{u_{k} = {- 1}}}{\left\lbrack w_{j} \right\rbrack.}}}}} \end{matrix}$

The decoder result for bit (ûhd k) is made up of three terms, namely of the a-priori information [L(u_(k))] about the bit to be decoded, of the channel information [L_(c)·y_(sys(k))] about the bit to be decoded, as well as of the extrinsic information [L_(e)(û_(k))], in which the channel and a-priori information of all other bits of vector (y) or of the transmitted Walsh function are combined.

In the incoherent receiver structure, the internal MAP decoder calculates, starting from the input vector (w) and the a-priori vector (L(u)), as a decoder result, the weighted decision (L-values, L(û_(k)) for the estimated symbols, as well as the extrinsic term (L_(e)(û_(k)) of the L-values.

In the incoherent receiver, to decode the internal Hadamard codes, the a-priori information (L(u)), for example in the form of a-priori probabilities P(x_(j)) for the Walsh functions, enters into the decoder instruction, which is such that for each bit decision, multiplied into the summing of numerator or denominator of the term to be expressed logarithmically of each considered element of the decision vector (w), are three terms, since there are the a-priori probabilities P(x_(j)), the exponentiated vector element, as well as the modified Bessel function to the first type of power (L−1) with argument.

A device for implementing the method is characterized by a soft-in/soft-out decoder in the receiver, at whose input and output, soft values are processed as reliability information (L-values), the soft output of the first decoder step (internal code) being in each case the soft input for the subsequent decoder step (external code), and the first decoder step receiving the output values of the preceding demodulation, which contains the reliability information of the channel. To enhance the reliability of the decisions of the internal decoder, a feedback (iterative decoding) from the external to the internal decoder is performed at least once, the decisions (extrinsic information) of the second, external decoder about the systematic bits of the code words of the internal code, for example of the Walsh functions, being fed back as a-priori information to the input of the first, internal decoder. In the process, a RAKE receiver can be arranged before [upstream from] the first decoder step, which receives the output values of the preceding demodulation.

BRIEF DESCRIPTION OF THE DRAWING

Whose Figures show:

FIG. 1a a block diagram of a “soft-in/soft-out” decoder;

FIG. 1b a block diagram of a CDMA transmitter;

FIG. 2a representation of the iterative decoding, and of the decoder structure with feedback for a coherent receiver;

FIG. 3a decoder structure for the internal Hadamard code;

FIG. 4a clarification of the approximation for ε,

FIG. 5a Trellis diagram with rejected paths along the maximum likelihood path;

FIG. 6 the simulation results for the coherent RAKE receiver;

FIG. 7 a comparison of the IC to a system having MAP decoding with use of the simplification, AWGN, U=10, J_(ges)=128;

FIG. 8 a comparison of the IC to a system having MAP decoding with use of the simplification, AWGN, U=20, J_(ges)=128;

FIG. 9 a representation of the decoder structure of a non-coherent RAKE receiver having SLC;

FIG. 10 the iterative decoding in the non-coherent receiver;

FIG. 11 the representation of the simulation results for the non-coherent RAKE receiver; and

FIG. 12 the representation of the simulation results for the non-coherent RAKE receiver having a plurality of statistical multi-path channels and MAP decoding without (-0-) and after the fifth iteration (-5).

In a two-step decoding, the quality of the first decoder output is decisive for the performance of the entire system. For this reason, it is indispensable that the reliability values be processed at the input and output of the first decoder step, which is why a MAP decoder is used as a decoder, which is used as a-priori information for the systematic bits of the Walsh function of the internal code for decoding of the same. Thus, the decoder must be able to process so-called soft values (L values) at the input and output of the decoder.

To further improve the decoding [process], e.g., by feeding back the decisions of the second decoder step, the decoder of the first step is, moreover, to be expanded to include a-priori information about the receiving vector, or parts of the receiving vector in the decoding according to the block diagram of a “soft-in/soft-out” decoder according to FIG. 1. Thus, for iterative decoding, it is necessary to replace the external Viterbi decoder with a modified soft-output Viterbi algorithm or with a MAP decoder, which supplies soft information for the coded bits. The soft output of the first decoder step is, in each case, the soft input for the subsequent Viterbi decoder with hard decisions at its output. As input values, denoted by the vector y, the first decoder step receives the integrated values after the long PN sequence is added.

At this point, the information of the external decoder step is interleaved according to FIG. 2, and fed back as a-priori information for the second decoding of the internal code, which leads to a serial “turbo” decoding scheme; FIG. 2 shows a representation of the decoder structure, with feedback, for a coherent receiver, time-delay elements and storage locations [memory elements] having been omitted.

From a receiver, e.g., an L-finger RAKE receiver, one obtains the vector y of the length N for each transmitted Walsh function x having systematic bits u_(k), k=0, . . . K−1. The probability density function of each element of vector y is a Gaussian normal distribution having average values E_(s) or −E_(s) and the variance [mean square deviation]

σ_(n) ²=σ_(AWGN) ²+σ_(MP) ²+σ_(MUI) ²  [1]

The first term in equation [1] describes the receiver noise; the second term is produced by the multi-path propagation; and the third term verifies the multi-user interferences of U other users. Aiming a perfect channel calculation, it is possible to analyze the reliability $L_{C} = {2 \cdot \frac{Es}{\sigma_{n}^{2}}}$

of the received vector elements.

Using logarithmic likelihood algebra, the MAP decoder for this block code, internal code, is expressed by the following equation: $\begin{matrix} \begin{matrix} {{L^{I}\left( {\hat{u}}_{k} \right)} = \quad {\ln \quad \frac{\left. {\sum\limits_{{x \in C^{I}},{u_{k} = {+ 1}}}{{{P\left( x \right.}}y}} \right)}{\left. {\sum\limits_{{x \in C^{I}},{u_{k} = {- 1}}}{{{P\left( x \right.}}y}} \right)}}} \\ {= \quad {\ln \quad \frac{\sum\limits_{{x \in C^{I}},{u_{k} = {+ 1}}}{\exp\left( {\frac{1}{2}\quad {\sum\limits_{i = 0}^{N - 1}{{L\left( {x_{i};y_{i}} \right)} \cdot x_{i}}}} \right.}}{\sum\limits_{{x \in C^{I}},{u_{k} = {- 1}}}{\exp\left( {\frac{1}{2}\quad {\sum\limits_{i = 0}^{N - 1}{{L\left( {x_{i};y_{i}} \right)} \cdot x_{i}}}} \right.}}}} \end{matrix} & \lbrack 2\rbrack \end{matrix}$

The values: $\begin{matrix} \left( {{xi},{{yi} = \left\{ \begin{matrix} {{{{Le} \cdot y_{i}} + {{L^{I}(U)}i}};} & {{{{{{for}\quad i} = {\frac{1}{2^{k + 1}}N}};\quad {k = 0}},\ldots \quad,{K - 1}}\quad} \\ {{{Le} \cdot y};} & {otherwise} \end{matrix} \right.}} \right. & \lbrack 3\rbrack \end{matrix}$

describe the probability of all elements of the resulting vector, the [probability] being supplemented by input vector y with probability L_(c) by the a-priori information L^(I)(ui) for the K systematic bits according to the first line in equation [3] of code word XεC^(I), when available according to FIG. 2. The arguments of the exponential function exp( . . . ) in equation [2] are results of the correlation of the resulting vector with all Walsh functions x_(j), j=0, . . . , N−1. This correlation operation for all code words x_(j) is performed by applying the fast Hadamard transformation, resulting in correlation vector W′.

The a-priori information for the systematic bits of the Walsh functions is likewise made available to the decoder, if present, as L-values in vector L(u); as a result, the decoder supplies the L-values for the estimated symbols L(û). The amount |L(û_(K))| indicates the reliability of the decision; the operational sign (L(û_(K))) represents the hard decision. The decoder result for bit û_(k) can be made up of three terms, as expressed by the following equation [4]:

1. of the a-priori information L(u_(k)) about the bit to be decoded;

2. of the channel information L_(c)·y_(sys(k)) about the bit to be decoded, as well as of

3. the so-called extrinsic information L_(e)(û_(k)), in which the channel information and a-priori information on all other bits of vector y or of the transmitted Walsh function are summarized.

L(û_(k))=L(uk)+L_(c)•y_(sys(k))+L_(e)(û_(k))  [4]

Since the decoder, assuming the receiving vector y with the reliability L_(c) and the a-priori vector L(u), supplies the weighted decision L(û_(k)) as the decoder result for the considered symbol, the extrinsic term L_(e)(û_(k))is able to be calculated, so to speak, as a further decoder result.

FIG. 3 depicts a decoder structure for the internal Hadamard code. With the aid of the fast Hadamard transformation, the decoding can be carried out at this point, as expressed by the equation. $\begin{matrix} {{L\left( {\hat{u}}_{k} \right)} = {\ln \quad \frac{\underset{{j = 0},{u_{k} = {+ 1}}}{\sum\limits^{N - 1}}{\exp\left( \quad {\sum\limits_{i = 0}^{N - 1}{{{L\left( {x_{i};y_{i}} \right)} \cdot \frac{1}{2}}\quad x_{i}}} \right)}}{\underset{{j = 0},{u_{k} = {- 1}}}{\sum\limits^{N - 1}}{\exp \left( {\sum\limits_{i = 0}^{N - 1}{{{L\left( {x_{i};y_{i}} \right)} \cdot \frac{1}{2}}\quad x_{i}}} \right)}}}} & \lbrack 5\rbrack \end{matrix}$

The notation with the three terms can be directly derived from this, as expressed by equation [4].

$\begin{matrix} {{L\left( {\hat{u}}_{k} \right)} = {{L\left( u_{k} \right)} + {L_{c} \cdot y_{{sys}{(k)}}} + {\ln \quad \frac{\underset{{j = 0},{u_{k} = {+ 1}}}{\sum\limits^{N - 1}}{\exp\left( \quad {\sum\limits_{{i = 0},{i \neq {{sys}{(k)}}}}^{N - 1}{{{L\left( {x_{i};y_{i}} \right)} \cdot \frac{1}{2}}\quad x_{i}}} \right)}}{\underset{\underset{L_{e}{({\hat{u}}_{k})}}{}}{\underset{{j = 0},{u_{k} = {- 1}}}{\sum\limits^{N - 1}}{\exp \left( {\sum\limits_{{i = 0},{i \neq {{sys}{(k)}}}}^{N - 1}{{{L\left( {x_{i};y_{i}} \right)} \cdot \frac{1}{2}}\quad x_{i}}} \right)}}}}}} & \lbrack 6\rbrack \end{matrix}$

The vector of the a-priori values is added to the vector of the reliability values from the channel. The addition term in equation [5] is available for all Walsh functions x_(j) according to the fast Hadamrard transformation in vector w. After forming the exponential functions with ${\frac{1}{2} \cdot W_{j}};$

as an argument, the elements of result vector z must be correctly summed for each symbol û_(k) to be decoded (numerator and denominator in equation [5]). The L-value of the decision is directly available through logarithm formation.

For the case that no a-priori information is available, namely when L(u_(k))=0, the decoding instruction according to equation [5] does not change. This generally occurs when working with a first-time decoding of receiving vector y, because the coded bits u_(k) or the symbols of the Walsh functions x, assume, with the same probability, the values “1 ” and “−1 ” and, thus, no a-priori knowledge of the transmitted symbols is available.

In this context, the AWGN channel is used as a channel model to represent the simulation results for the decoder structures introduced till now. The parameters of the hash code, as well as of the orthogonal mapping, correspond to the specifications according to the considered standard IS-95. Even the variable weighting of the maximum likelihood decision of the first decoder has an effect on the overall result.

If only the maximum terms, instead of the entire sum, are used for the numerator and denominator in equation [2], then the approximation MAP equation is reduced to a simple expression, without In- and exp-functions, that is applied to the FHT output (correlation vector) w′: $\begin{matrix} {{L\left( {\hat{u}}_{k} \right)} \approx {{\frac{1}{2} \cdot {\max\limits_{j,{u_{k} = {+ 1}}}\left( w_{j}^{\prime} \right)}} - {\frac{1}{2} \cdot {\max\limits_{j,{u_{k} = {- 1}}}{\left( w_{j}^{\prime} \right).}}}}} & \lbrack 7\rbrack \end{matrix}$

The use of only the maximum of the values in the numerator, as well as of the maximum of the values in the denominator, is expressed as: $\begin{matrix} \begin{matrix} {{\ln \quad \frac{\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}z_{j}}{\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}z_{j}}} = \quad {\ln \quad \frac{\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}}{\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}}}} \\ {= \quad {{\ln \quad \overset{{Term}\quad 1}{\left( {\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}} - \overset{{Term}\quad 2}{\ln \quad \left( {\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}}} \end{matrix} & \lbrack 8\rbrack \\ \begin{matrix} {\quad {\approx \quad {{\ln \quad \left( {\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack {\exp \left( {\frac{1}{2}\quad w_{j}} \right)} \right\rbrack} \right)} - {\ln \quad \left( {\max\limits_{j,{u_{k} = {- 1}}}\left\lbrack {\exp \left( {\frac{1}{2}\quad w_{j}} \right)} \right\rbrack} \right)}}}} \\ {= \quad {{\frac{1}{2}{\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack w_{j} \right\rbrack}} - {\frac{1}{2}{\max\limits_{j,{u_{k} = {- 1}}}\left\lbrack w_{j} \right\rbrack}}}} \end{matrix} & \lbrack 9\rbrack \end{matrix}$

This clearly reduces computational outlay.

An approximation may also be given for the application in each case of the two largest values. For term 1 of equation [8], it is expressed by ${w_{m1} = {\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack w_{j} \right\rbrack}},$

as well as by w_(m2) as the second largest value of the considered W_(j): $\begin{matrix} \begin{matrix} {{\ln \quad \left( {\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)} \approx \quad {\ln \quad \left( {{\exp \left( {\frac{1}{2}\quad w_{m1}} \right)} + {\exp \left( {\frac{1}{2}\quad w_{m2}} \right)}} \right)}} \\ {= \quad {\ln \quad \left( {\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}} \\ {\approx \quad {\ln \quad \left( {{\exp \left( {\frac{1}{2}\quad w_{m1}} \right)} + {\exp \left( {\frac{1}{2}\quad w_{m2}} \right)}} \right)}} \\ {= \quad {\ln \quad \left( {{\exp \left( {\frac{1}{2}\quad w_{m1}} \right)} \cdot \left( {1 + {\exp \left( {\frac{1}{2}\quad \left( {w_{m2} - W_{m1}} \right)} \right)}} \right)} \right)}} \\ {= \quad {{\ln \quad \left( {\exp \left( {\frac{1}{2}\quad w_{m1}} \right)} \right)} + {\ln \left( {1 + {\exp \left( {{- \frac{1}{2}}\quad \left( {w_{m1} - w_{m2}} \right)} \right)}} \right)}}} \\ {\approx \quad {{\frac{1}{2}\quad w_{m1}} + e}} \end{matrix} & \lbrack 10\rbrack \end{matrix}$

where: $\begin{matrix} {ɛ = \left\{ \begin{matrix} {0,} & {{{{for}\quad W_{m1}} - W_{m2}} \geq {41{n2}}} \\ {{{1{n2}} - {\frac{1}{4}\left( {W_{m1} - {Wm2}} \right)}},} & {{{for}\quad 0} \leq {W_{m1} - W_{m2}} < {41{n2}}} \end{matrix} \right.} & \lbrack 11\rbrack \end{matrix}$

In FIG. 4, the clarification of the approximation is represented for ε. One obtains an analogous result for term 2 in equation [8].

To obtain the a-priori information in equation [2], the external code C⁰ is to be decoded. The conventional Viterbi decoder supplies only hard-decision values for the transmitted information bits, which is why it is replaced by a soft-decision Viterbi algorithm (SOVA), which is modified in such a way that the reconstruction is not carried out for the information bits, but rather for the coded bits of the external code (CODSOVA).

At each instant j , a Viterbi decoder makes a decision about the information bit v_(j)-δ that is preceding [took place previously] by the decision depth 67 , on the basis of the maximum likelihood path, denoted i_(ML), reference being made in this regard to FIG. 5, which shows a Trellis diagram with rejected paths along the maximum likelihood path.

The decision depth 67 is to be so calculated, that one can start out from the assumption that all surviving paths in the Trellis diagram at this cycling instant run together, forming one path. The rule of thumb in this context is that 67 is to be selected to be more or less five times as great as memory length m of the coder—however, not as in the example of FIG. 11.

The maximum likelihood path i_(ML) at the cycling instant j is determined by the largest state metrics $\max\limits_{v}\left\{ M_{j}^{v} \right\}$

of all states s^(v), where v=0, . . . , 2^(m)−1.

The state metrics are calculated in that, initially, for each of the two possible transitions (binary Trellis) into state S_(J) ^(V), the current [active] branch metrics—this corresponds to the correlation value of the symbols to be decoded having the code bits of this state transition—is added to the state metrics of the previous state S_(J) _(V)−1 in question. Of the two metrics values obtained in the process, the larger is selected; the other path is rejected.

Without a-priori information about the coded bits, for one binary hash code of the rate 1/N, the accumulated path metrics of path i at instant j is calculated as: $\begin{matrix} {{M_{j}^{i} = {M_{j - 1}^{i} + {\sum\limits_{n = 0}^{n - 1}{X\quad a}}}},j,{n \cdot {L\left( {{\hat{u}j},n} \right)}}} & \lbrack 12\rbrack \end{matrix}$

Index i (i=0, . . . ,2·2^(m)−1) denotes in this case all possible paths into states S_(J) ^(V), starting out from the 2^(m) winner paths of the 2^(m) previous states S_(J) ^(V)−1.

Since N coded bits were produced per coding section N, for every metrics calculation according to equation (8.17), N input values must be correlated to N coded bits in conformance with the state transition under consideration. The values L(û_(j,n)), where n =0, . . . , N−1 correspond directly to the reliability values of the decoder result of the previous step.

To clarify the relations, a Trellis diagram having only four states is considered by way of example in FIG. 5. At instant j, the zero path—the thicker line—is the maximum likelihood path i_(ML). The loser paths along this ML path are likewise drawn in.

If, as shown in FIG. 5, M_(j)^(i_(LM))

describes the largest metrics of all states, then a difference in the metrics of this winner path i_(ML) as compared to the loser path i_(ML) in this state, is able to be defined: $\begin{matrix} {\Delta_{j}^{0} = \quad {\frac{1}{2}\left( {M_{j}^{i_{ML}} - {\left( M_{j}^{i_{ML}^{\prime}} \right).}} \right.}} & \lbrack 13\rbrack \end{matrix}$

In this context, the superscripted index 0 denotes that this is the metrics difference at position j-0 of the ML path. The probability indicating that this path decision is correct is calculated as: $\begin{matrix} \begin{matrix} {{P\left( {i_{ML}\quad {is}\quad {right}} \right)} = \quad \frac{\exp \left( {M_{j}^{i_{ML}}/2} \right)}{{\exp \left( {M_{j}^{i_{ML}}/2} \right)} + {\exp \left( {M_{j}^{i_{ML}^{\prime}}/2} \right)}}} \\ {= \quad {\frac{\exp \left( \Delta_{j}^{0} \right)}{1 + {\exp \left( \Delta_{j}^{0} \right)}}.}} \end{matrix} & \lbrack 14\rbrack \end{matrix}$

Accordingly, the corresponding L-value is $\begin{matrix} {{L\left( {i_{ML}\quad {is}\quad {right}} \right)} = {{\ln \quad \frac{P\left( {i_{ML}\quad {is}\quad {right}} \right)}{1 - {P\left( {i_{ML}\quad {is}\quad {right}} \right)}}} = {\Delta_{j}^{0}.}}} & \lbrack 15\rbrack \end{matrix}$

At this point, along path i_(ML) having the largest metrics, 67 +1 loser paths are rejected. In this context, as expressed in equation [15], the metrics differences at instants j−δ. . . j indicate the reliability of the path decisions in question.

With the aid of these metrics differences, the reliability can be calculated for the information bit L(v_(j)−67 ) decided upon. It is checked in this context for all decisions along the ML path whether a rejected path would have decided differently for information bit V_(j)−67 than the ML path.

When working with the soft-output Viterbi algorithm for the coded bits (COD-SOVA), an analogous procedure is used, in turn, starting from the path having maximum metrics and metric differences, to specify reliability information for the coded bits L({circumflex over (x)}a, j−d,n), n=0, . . . , N−1 of the state transition decided upon.

For this, it is checked for each rejected path l along the maximum likelihood path, whether the decisions x¹ _(aj−δ,n), that this loser path would have made for the coded bits deviate from the decisions of the winner path. If this is the case, the probability for a correct decision e¹ _(j−d,n)=1 on the basis of this path decision I can be defined as a function of the metrics difference Δ¹ _(j). $\begin{matrix} {\left. {\left( {e_{{j - \delta},n}^{l} = 1} \right) = {P\left( {i_{ML}\quad {is}\quad {right}} \right.}_{j - 1}} \right) = \frac{\exp \left( \Delta_{j}^{1} \right)}{1 + {\exp \left( \Delta_{j}^{1} \right)}}} & \lbrack 16\rbrack \end{matrix}$

Thus, on the basis of the path decision at j-l the L-value for the coded bit amounts to: $\begin{matrix} {{L\left( e_{{j - \delta},n}^{l} \right)} = \left\{ \begin{matrix} {+ \Delta_{j}^{l}} & {x_{a,{j - \delta},n}^{l} \neq {\hat{x}}_{a,{j - \delta},n}} & {{n = 0},\ldots \quad,{N - 1}} \\ {+ \infty} & {x_{a,{j - \delta},n}^{l} = {\hat{x}}_{a,{j - \delta},n}} & {{n = 0},\ldots \quad,{N - 1}} \end{matrix} \right.} & \lbrack 17\rbrack \end{matrix}$

In response to parity [equality] [17], the reliability value is very high, and is set to +∞. If there is a difference, then the reliability of the decision is a function of the metrics difference at instant j-l. If the path decision was very certain, given a large metrics difference, then the reliability is also quite high, in spite of different decisions of the winner and loser path. If, however, the decision was uncertain, thus the metrics difference was only somewhat greater than zero, then the reliability of this decision is likewise poor, due to different statements for the code bit being considered. The reliability of the decision made on the basis of all rejected paths, is expressed as $\begin{matrix} {{L\left( {\hat{x}}_{a,{j - \delta},n} \right)} = {{\hat{x}}_{a,{j - \delta},n} \cdot {\sum\limits_{l = 0}^{\delta}{{L\left( e_{{j - \delta},n}^{l} \right)}.}}}} & \lbrack 18\rbrack \end{matrix}$

The so-called “box plus” sum sign [Σ] in equation [18] signifies that of all decision variables which influence the reliability of L({circumflex over (x)}_(aj−δ,n)), the least reliable one is the one that is decisive.

If all reliability values of the decision for {circumflex over (x)}_(aj−δ,l) were greater, for example, than 1.5, and merely one L-value (e¹ _(j−δ,1)) were=1.5 in accordance with the metrics difference at j−l, then the decision for the code bit would be weighted accordingly with L({circumflex over (x)}_(aj−δ,l)=+1)=1.5.

Thus, in its simplest terms, equation [18] is expressed as:

$\begin{matrix} {{{L\left( {\hat{x}}_{a,{j - \delta},n} \right)} = {{{\hat{x}}_{a,{j - \delta},n} \cdot {\min\limits_{{l = 0},\ldots,\delta}{{L\left( e_{{j - \delta},n}^{l} \right)}\quad n}}} = 0}},\ldots \quad,{N - 1}} & \lbrack 19\rbrack \end{matrix}$

This soft output L({circumflex over (x)}_(aj−δ,n))where n=0, . . . N−1 or generally L({circumflex over (x)}_(a)) for the coded bits of the external hash code is now used as a-priori information L(u) for the renewed decoding of the internal code.

As an alternative to the CODSOVA, a complete MAP decoder can be used. The soft information pertaining to the calculations of the external, coded bits is used partially as a-priori information L^(I)(u) for the systematic bits of the internal code, which are fed back; thus, a simple feeding back of the soft values to the first decoder takes place. To avoid statistical dependencies between the soft values of the various iteration steps, it is only necessary, as shown in FIG. 2, for the extrinsic information L_(e)^(o)(û)

as shown in FIG. 2, to be fed back. The system parameters for all simulations are selected in conformance with the IS-95 standard.

The simulation results for the AWGN channel (Additive White Gaussian Noise) are reproduced as a channel model in FIG. 6, which shows the simulation results for the coherent RAKE receiver. Noticeable is the gain of 0.7 dB in E_(b)/N₀ in response to the bit error rate (BER) of 10⁻³, when the ML decoder is replaced for the internal code by the MAP decoder according to equation [2]. Moreover, using the iterative decoding, a total gain of 1.3 dB can be achieved after five iterations. When the simple approximation is applied in equation [7], then the resulting degradation amounts to less than 0.1 dB.

The following will explain the case for MAP and iterative decoding in the non-coherent receiver.

The principal reason for using the M-fold orthogonal modulation is the possibility of demodulating the received signal without phase information. Let us assume that one starts out only from the knowledge of the delays of the multi-path channel and the iterative decoding in a non-coherent receiver having square-law combining (SLC) of the individual elements, determined according to the following FIG. 11, which illustrates a non-coherent RAKE receiver having SLC.

In each of the L-RAKE fingers, the quadrature descrambling IPN-jQPN, the direct-sequence elimination of propagation [spreading] LPN and the FHT must be performed for the in- and quadrature-phase components following compensation of the path delay. After that, the 2L correlation vectors are square-law combined, to form the decision vector w. When, in turn, a Gaussian distortion is assumed on the receiver chip for the filter outputs, then the resultant probability density function of the vector element w_(j) is (not-) centrally chi-square distributed with 2L degrees of freedom. Under the condition that the Walsh function x_(i) has been transmitted, then one obtains the conditional probability $\begin{matrix} \begin{matrix} {\left. {{{p\left( w_{j} \right.}}x_{j}} \right) = \quad {p_{n}\left( w_{j} \right)}} \\ {= \quad {\frac{1}{2\quad \sigma^{2}}\left( \frac{w_{j}}{s^{2}} \right)^{\frac{L - 1}{2}}{{\exp \left( {- \quad \frac{w_{j} + s^{2}}{2\sigma^{2}}} \right)} \cdot {I_{L - 1}\left( {\sqrt{w_{j}} \cdot \frac{s}{\sigma^{2}}} \right)}}}} \\ {\quad {{{for}\quad j} = i}} \end{matrix} & \lbrack 20\rbrack \\ {{p_{c}\left( w_{j} \right)} = {{{\frac{1}{2^{L}\quad \sigma^{2{L \cdot {{({L - 1})}!}}}} \cdot w_{j}^{L - 1} \cdot {\exp \left( \frac{- w_{j}}{2\sigma^{2}} \right)}}\quad {for}\quad j} \neq {i.}}} & \lbrack 21\rbrack \end{matrix}$

The non-centrality S² and the average noise power δ² per random variable of the decision vector w can be estimated. The modified Bessel function δ² of the first type and order L−1 is characterized by I_(L−1) (.). For the iterative decoding, the decoder equation must be expanded so as to permit a-priori information about the systematic bits of the code word x_(j)(j=0, . . . , N−1) to be used. Therefore, one begins with the Bayes law and analyzes the probability P(x_(j)|w), which results from the observation of w: $\begin{matrix} {\left. {{{P\left( x_{j} \right.}}w} \right) = \frac{\left. {{{P\left( x_{j} \right)} \cdot {{p\left( w \right.}}}x_{j}} \right)}{p(w)}} & \lbrack 22\rbrack \end{matrix}$

The probability density functions used in equation [22] can be expressed as follows: $\begin{matrix} \begin{matrix} {\left. {{{p\left( w \right.}}x_{j}} \right) = \quad {{{p_{c}\left( w_{c} \right)} \cdot \ldots \cdot {p_{n}\left( w_{j} \right)} \cdot \ldots}\quad {p_{c}\left( w_{N - 1} \right)}}} \\ {= \quad {\frac{p_{n}\left( w_{j} \right)}{p_{c}\left( w_{j} \right)} \cdot {\prod\limits_{i = 0}^{N - 1}{p_{c}\left( w_{i} \right)}}}} \end{matrix} & \lbrack 23\rbrack \end{matrix}$

and $\begin{matrix} \left. {{p(w)} = {\sum\limits_{j = o}^{N - 1}{{{P\left( x_{j} \right)} \cdot {{p\left( w \right.}}}x_{j}}}} \right) & \lbrack 24\rbrack \end{matrix}$

Here, there is no limitation to the a-priori probabilities for all Walsh functions having the condition: $\begin{matrix} {{\sum\limits_{j = o}^{N - 1}{P({Xj})}} = {{1\quad {or}\quad {P({Xj})}} = \quad \frac{1}{N}}} & \lbrack 25\rbrack \end{matrix}$

By substituting equations [23] and [24] in equation [22], one can then analyze the maximum a-posteriori probability for all Walsh functions, observing w: $\begin{matrix} {\left. {{{P\left( x_{j} \right.}}w} \right) = {{P\left( x_{j} \right)} \cdot \frac{p_{n}\left( w_{j} \right)}{p_{c}\left( w_{j} \right)} \cdot \alpha}} & \lbrack 26\rbrack \end{matrix}$

Constant α is independent of j. For the decoder rule, it is necessary to analyze the maximum a-posteriori probabilities for the K systematic bits: $\begin{matrix} {\left. {\left. {{{P\left( {{\hat{u}}_{k} = {+ 1}} \right.}}w} \right) = {\sum\limits_{{x \in C^{I}},{{uk} = {+ 1}}}{{{P\left( x \right.}}x}}} \right) = {\alpha \quad {\sum\limits_{{j = o},{{uk} = {+ 1}}}^{N - 1}{{P\left( x_{j} \right)} \cdot \frac{p_{n}\left( w_{j} \right)}{p_{c}\left( w_{j} \right)}}}}} & \lbrack 27\rbrack \end{matrix}$

In the final decoder equation, which provides a logarithm likelihood relation for the desired bit, α disappears: $\begin{matrix} \begin{matrix} {{L^{I}\left( {\hat{u}}_{k} \right)} = \quad {\ln \quad \frac{\left. {{{P\left( {{\hat{u}}_{k} = {+ 1}} \right.}}w} \right)}{\left. {{{P\left( {{\hat{u}}_{k} = {- 1}} \right.}}w} \right)}}} \\ {= \quad {\ln \quad \frac{\sum\limits_{{j = 0},{{uk} = {+ 1}}}^{N - 1}{{P\left( x_{j} \right)} \cdot w_{j}^{- \frac{L - 1}{2}} \cdot {I_{L - 1}\left( {\sqrt{w_{j}}\frac{s}{\sigma^{2}}} \right)}}}{\sum\limits_{{j = 0},{{uk} = {- 1}}}^{N - 1}{{P\left( x_{j} \right)} \cdot w_{j}^{- \frac{L - 1}{2}} \cdot {I_{L - 1}\left( {\sqrt{w_{j}}\frac{s}{\sigma^{2}}} \right)}}}}} \end{matrix} & \lbrack 28\rbrack \end{matrix}$

In equation [28], it is not possible to directly use the K L-values, which are associated with the systematic bits of a Walsh function, that had been obtained by the external decoder step. As shown in this regard in FIG. 12, with respect to the non-coherent, iteratively decoding receiver, the L-values for all code words must be converted to N=2^(K) a-priori probabilities P(x_(j)). As in the preceding section, an approximation can be given for the right term in equation [28], in the consideration of only the maximum summands. A further simplification is possible when the Bessel function is approximated by an exponential function.

In FIG. 11, the simulation results are shown for the non-coherent RAKE receiver, AWGN channel, which show a gain of 0.6 dB (BER=10⁻³) when replacing the ML decoder for the internal code by a MAP decoder. When the iterative decoding is used, a total gain of over 1.2 dB can be achieved after five iterations.

Shown in FIG. 12 are further simulation results for static multi-path channels, which represent the simulation results for the non-coherent RAKE receivers having a plurality of static multi-path channels and MAP decoding without (-0-), and after five iterations (-5-). Here, the MAP decoder algorithm was used as an external decoder. The number of RAKE fingers varies from 1 to 4 in conformance with the number of paths of the channel. The energy on the paths was uniformly distributed. Consequently, FIG. 11 shows the resulting BER after the first decoding and following five iterations. The degradation of 1 to 4 paths is caused by the addition of the squares of the individual values (square-law combining). From 1 to 2 RAKE fingers, there is a combined loss of over 1 dB, which is nearly independent of the energy distribution on the channel paths. From 2 to 3, and from 3 to 4 paths, the loss amounts to roughly 0.6 dB. The gain attained when working only with iterative decoding, amounts each time to approximately 0.6 dB (BER=10⁻³).

The subject matter of the invention has industrial applicability in information and communication technology, as a result of optimal decoder rules being made available, with the use of M-fold orthogonal modulation as an internal code. This modulation scheme, in combination with an external code, can be used in a CDMA system for performing iterative decoding. The MAP decoder rules and their approximations take a-prior information into consideration, which is why they can be applied to other systems having an additional external FEC code, ie “turbo-, single-parity check” or other block codes. 

What is claimed is:
 1. A decoding method for demodulating a received signal available in serial code concatenation in a code-division multiple access transmission system, a two-step coding being carried out at the transmitting end of the transmission system, a first step of the two-step coding including a Hadamard orthogonal multi-step inner code, a second step of the two-step coding including an outer error-correcting code of a predefined rate, the method comprising: providing a soft-in/soft-out decoder in a receiver of the transmission system, a first decoder step of the soft-in/soft-out decoder including an inner decoder, a second decoder step of the soft-in/soft-out decoder including an outer decoder; and processing soft values as reliability information at an output and an input of the soft-in/soft-out decoder, a soft output of the inner decoder being a soft input for the outer decoder, a channel reliability information output from a preceding demodulation being an input for the inner decoder, wherein the first decoder step of the soft-in/soft-out decoder and the second decoder step of the soft-in/soft-out decoder are configured to decode the received signal coded in the two-step coding, wherein the receiver includes an incoherent receiver structure including a RAKE receiver, wherein a soft input of the inner decoder includes a-priori information for systematic bits of Walsh functions of the inner code, the inner Hadamard code being decoded by entering an a-priori information vector L(u) into an instruction of the inner decoder, the instruction being such that for each bit decision, in a summing of a numerator and a denominator of a term to be expressed logarithmically of each considered element of a square-law-combining fast Hadamard transform resultant decision vector w, three terms are multiplied, a first term of the three terms being a-priori probabilities P(x_(j)), a second term of the three terms being an exponentiated vector element, a third term of the three terms being a modified Bessel function of the first type of power (L-1) with argument, L being a number of fingers of the RAKE receiver, x being a Walsh function.
 2. The method as recited in claim 1 wherein the entering the a-priori information vector L(u) is performed with the a-priori information vector L(u) in the form of a-priori probabilities P(x_(j)) for Walsh functions of the Hadamard code, x being a Walsh function, u being a bit.
 3. The method as recited in claim 1 wherein the decoding instruction includes the equation: $\begin{matrix} {{L\left( {\hat{u}}_{k} \right)} = \quad {\ln \quad \frac{\left. {{P\left( {{\hat{u}}_{k} = 1} \right.}w} \right)}{\left. {{P\left( {{\hat{u}}_{k} = {- 1}} \right.}w} \right)}}} \\ {= \quad {\ln \quad \frac{\sum\limits_{{j = 0},{u_{k} = {+ 1}}}^{N - 1}{{P\left( x_{j} \right)} \cdot w^{- \quad \frac{L - 1}{2}} \cdot {I_{L - 1}\left( \sqrt{w_{j}\frac{s}{\sigma^{2}}} \right.}}}{\sum\limits_{{j = 0},{u_{k} = {- 1}}}^{N - 1}{{P\left( x_{j} \right)} \cdot w^{- \quad \frac{L - 1}{2}} \cdot {I_{L - 1}\left( \sqrt{w_{j}\frac{s}{\sigma^{2}}} \right.}}}}} \end{matrix}$

û_(k) being a bit of the soft output of the inner decoder, w_(j) being a respective element of the vector w, I_(L−1) being the modified Bessel function of the first type of power L−1, j being a respective vector element index, N being a size of the code words of the inner code, s being a non-centrality of a distribution of maxima of the vector w over time, σ² being a mean noise power.
 4. A decoding method for demodulating a received signal available in serial code concatenation in a code-division multiple access transmission system, a two-step coding being carried out at the transmitting end of the transmission system, a first step of the two-step coding including a Hadamard orthogonal multi-step inner code, a second step of the two-step coding including an outer error-correcting code of a predefined rate, the method comprising: providing a soft-in/soft-out decoder in a receiver of the transmission system, a first decoder step of the soft-in/soft-out decoder including an inner decoder, a second decoder step of the soft-in/soft-out decoder including an outer decoder; and processing soft values as reliability information at an output and an input of the soft-in/soft-out decoder, a soft output of the inner decoder being a soft input for the outer decoder, a channel reliability information output from a preceding demodulation being an input for the inner decoder, wherein the first decoder step of the soft-in/soft-out decoder and the second decoder step of the soft-in/soft-out decoder are configured to decode the received signal coded in the two-step coding, wherein the receiver includes a coherent receiver structure, wherein a soft input of the inner decoder includes a-priori information for systematic bits of Walsh functions of the inner code, and wherein the inner code includes a Hadamard code, the Hadamard code being decoded by: adding an a-priori information vector L(u) for systematic bits of a Walsh function of the Hadamard code to an input vector L_(c)·y from a channel; performing a fast Hadamard transformation so as to provide a fast Hadamard transform resultant vector w; then generating exponential functions with ½·w_(j) as an argument, w_(j) being a respective element of the vector w; and adding, dividing and expressing logarithmically elements of a result vector z for each symbol û_(K) to be decoded according to the equation: $\begin{matrix} {{\ln \quad \frac{\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}z_{j}}{\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}z_{j}}} = \quad {\ln \quad \frac{\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}}{\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}}}} \\ {= \quad {{\ln \overset{{Term}\quad 1}{\left( {\sum\limits_{j,{u_{k} = {+ 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}} - \overset{{Term}\quad 2}{\ln \quad \left( {\sum\limits_{j,{u_{k} = {- 1}}}^{N - 1}{\exp \left( {\frac{1}{2}\quad w_{j}} \right)}} \right)}}} \end{matrix}$

z_(j) being a respective element of the resultant vector z, j being a respective vector element index, N being a size of the Walsh functions of the inner code; wherein, with respect to Term 1 and Term 2 of the equation, for each step at least one maximum is used so as to provide a simplified decoder instruction of the equation, the simplified decoder instruction expressed by the relation: $\begin{matrix} {\quad {\approx \quad {{\ln \quad \left( {\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack {\exp \left( {\frac{1}{2}\quad w_{j}} \right)} \right\rbrack} \right)} - {\ln \quad \left( {\max\limits_{j,{u_{k} = {- 1}}}\left\lbrack {\exp \left( {\frac{1}{2}\quad w_{j}} \right)} \right\rbrack} \right)}}}} \\ {= \quad {{\frac{1}{2}{\max\limits_{j,{u_{k} = {+ 1}}}\left\lbrack w_{j} \right\rbrack}} - {\frac{1}{2}{\max\limits_{j,{u_{k} = {- 1}}}\left\lbrack w_{j} \right\rbrack}}}} \end{matrix}$

 so that ${{L^{I}\left( {\hat{u}}_{k} \right)} \cong {{\frac{1}{2} \cdot {\max\limits_{j,{u_{k} = {+ 1}}}\left( w_{j}^{\prime} \right)}} - {\frac{1}{2} \cdot {\max\limits_{j,{u_{k} = {- 1}}}\left( w_{j}^{\prime} \right)}}}},$

w_(j) being a respective element of the vector w, L^(I)(û_(k)) being the soft output of the inner decoder, u being a bit, y being a vector. 